package com.xjw.aop;

import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

import com.xjw.dataSource.DataSourceContextHolder;


/**      
 * 项目名称：springMvc  
 * 实现功能：service方法执行完之后清除数据源设置
 * 类名称：ServiceAfterAdvice   
 * 类描述：(该类的主要功能)
 * 创建人：徐纪伟 
 * E-mail: xujiwei558@126.com
 * 创建时间：Jan 21, 2014 10:39:13 AM   
 * 修改人：   
 * 修改时间：   
 * 修改备注：   
 * @version    
 */
@Aspect
@Component
public class ServiceAfterAdvice {
	@Pointcut(value = "execution(* com.xjw.service.impl.*.*(..)) && args(username)",argNames = "username")
	public void service(String username){};
	
	@AfterReturning(pointcut = "service(username)",argNames = "username")
	public void afterService(String username){
		DataSourceContextHolder.clearDBType();
		System.out.println("清除数据源类型完成..." + username);
	}
	
	@AfterReturning(value = "execution(* com.xjw.service.impl.*.list(..))")
	public void afterService1(){
		DataSourceContextHolder.clearDBType();
		System.out.println("清除数据源类型完成...list方法");
	}
	
}
